package com.dykj.apps.web.sysmanager.dao;

import java.util.List;

import com.dykj.platform.framework.common.paging.IHQueryDAO;
import com.dykj.platform.framework.dao.hibernate.IPublicDBAccess;
import com.dykj.platform.framework.exception.DatabaseException;

public interface IUserManagerDAO extends IPublicDBAccess,IHQueryDAO {
	/**
	 * 查询已经有分配过角色的用户
	 * @param roleid
	 * @param groupid
	 * @return
	 * @throws DatabaseException
	 */
	public List queryHaveRoleUser(Long roleid,String groupid)throws DatabaseException;
	
	/**
	 *查询没有角色的用户
	 *
	 * @param groupid
	 * @return
	 * @throws DatabaseException
	 */	
	public List queryNoRoleUser(String groupid)throws DatabaseException;
	public int updateUserRole(Long roleid)throws DatabaseException;
	
	/**
	 * 查询没有数据权限的用户
	 * @return
	 * @throws DatabaseException
	 */
	public List queryNoAuthUser()throws DatabaseException;
	
	/**
	 * 查询待选user
	 * @param type
	 * @param groupid
	 * @return
	 * @throws DatabaseException
	 */
	public List queryNoAuthUser(String type,String groupid)throws DatabaseException;
	
	/**
	 * 查询有数据权限的用户
	 * @param authid
	 * @return
	 * @throws DatabaseException
	 */
	public List queryHaveAuthUser(Long authid)throws DatabaseException;
	
	/**
	 * 修改权限的时候，查询已选user
	 * @param authid
	 * @param type
	 * @param groupid
	 * @return
	 * @throws DatabaseException
	 */
	public List queryUserByAuth(String authid, String type,String groupid)throws DatabaseException;
}
